/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.hiddenreport.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 隐患上报信息编辑参数
 *
 * @author H
 * @date  2025/10/17 16:36
 **/
@Getter
@Setter
public class HiddenReportEditParam {

    /** ID */
    @ApiModelProperty(value = "ID", required = true, position = 1)
    @NotBlank(message = "reportId不能为空")
    private String reportId;

    /** 平台用户ID */
    @ApiModelProperty(value = "平台用户ID", position = 2)
    private String platformUserId;

    /** 上报人ID */
    @ApiModelProperty(value = "上报人ID", position = 3)
    private String userId;

    /** 版本号 */
    @ApiModelProperty(value = "版本号", position = 4)
    private Integer version;

    /** 上报人姓名 */
    @ApiModelProperty(value = "上报人姓名", position = 6)
    private String userName;

    /** 上报人电话 */
    @ApiModelProperty(value = "上报人电话", position = 7)
    private String userPhone;

    /** 隐患类型 1：第三方施工2：堡坎垮塌3：露管4：违章施工5：其它 */
    @ApiModelProperty(value = "隐患类型 1：第三方施工2：堡坎垮塌3：露管4：违章施工5：其它", position = 8)
    private Integer hiddenType;

    /** 隐患描述 */
    @ApiModelProperty(value = "隐患描述", position = 9)
    private String hiddenRemark;

    /** 当前位置 */
    @ApiModelProperty(value = "当前位置", position = 10)
    private String address;

    /** 省 */
    @ApiModelProperty(value = "省", position = 11)
    private String province;

    /** 市 */
    @ApiModelProperty(value = "市", position = 12)
    private String city;

    /** 区 */
    @ApiModelProperty(value = "区", position = 13)
    private String district;

    /** 经度 */
    @ApiModelProperty(value = "经度", position = 14)
    private Double longitude;

    /** 纬度 */
    @ApiModelProperty(value = "纬度", position = 15)
    private Double latitude;

    /** 图片附件 照片或文件 多个 ；隔开 */
    @ApiModelProperty(value = "图片附件 照片或文件 多个 ；隔开", position = 16)
    private String fliePath;

    /** 视频文件多个；隔开 */
    @ApiModelProperty(value = "视频文件多个；隔开", position = 17)
    private String videoPath;

    /** 声音文件多个；隔开 */
    @ApiModelProperty(value = "声音文件多个；隔开", position = 18)
    private String soundPath;

    /** 审批状态0=待分配核实人1=待核实2=管理员审核3=监督站审核4=业务部门审核5=安全部门审核6=分管领导审核6=主要领导审核7=完成 */
    @ApiModelProperty(value = "审批状态0=待分配核实人1=待核实2=管理员审核3=监督站审核4=业务部门审核5=安全部门审核6=分管领导审核6=主要领导审核7=完成", position = 19)
    private Integer approval;

    /** 建议奖励金额 */
    @ApiModelProperty(value = "建议奖励金额", position = 20)
    private Integer suggestionRewards;

    /** 隐患上报奖励 */
    @ApiModelProperty(value = "隐患上报奖励", position = 21)
    private Integer hiddenRewards;

    /** 当前状态-1=未采纳0=核实中1=已采纳2=待发放奖励3=已完成   小程序的状态 */
    @ApiModelProperty(value = "当前状态-1=未采纳0=核实中1=已采纳2=待发放奖励3=已完成   小程序的状态", position = 22)
    private Integer currentStatus;

    /** 核实人ID */
    @ApiModelProperty(value = "核实人ID", position = 23)
    private String verifyUserId;

    /** 核实人姓名 */
    @ApiModelProperty(value = "核实人姓名", position = 24)
    private String verifyUserName;

    /** 核实时间 */
    @ApiModelProperty(value = "核实时间", position = 25)
    private Date verifyTime;

    /** 核实情况说明 */
    @ApiModelProperty(value = "核实情况说明", position = 26)
    private String verifySituation;

    /** 隐患具体地址 */
    @ApiModelProperty(value = "隐患具体地址", position = 27)
    private String hiddenAddr;

    /** 核实照片，多个;隔开 */
    @ApiModelProperty(value = "核实照片，多个;隔开", position = 28)
    private String verifyImage;

    /** 建议防范措施 */
    @ApiModelProperty(value = "建议防范措施", position = 29)
    private String suggestionMeasures;

    /** 隐患等级(0=一般问题1=一般隐患2=较大隐患3=重大隐患) */
    @ApiModelProperty(value = "隐患等级(0=一般问题1=一般隐患2=较大隐患3=重大隐患)", position = 30)
    private Integer hiddenLevel;

    /** 整改部门ID */
    @ApiModelProperty(value = "整改部门ID", position = 31)
    private String rectificationOrgId;

    /** 整改部门名称 */
    @ApiModelProperty(value = "整改部门名称", position = 32)
    private String rectificationOrgName;

    /** 整改责任人 */
    @ApiModelProperty(value = "整改责任人", position = 33)
    private String rectificationUserName;

    /** 整改期限 */
    @ApiModelProperty(value = "整改期限", position = 34)
    private Date rectificationPeriod;

    /** 分管领导ID */
    @ApiModelProperty(value = "分管领导ID", position = 35)
    private String chargeLeaderId;

    /** 分管领导名称 */
    @ApiModelProperty(value = "分管领导名称", position = 36)
    private String chargeLeaderName;

    /** 主要领导ID */
    @ApiModelProperty(value = "主要领导ID", position = 37)
    private String mainLeaderId;

    /** 主要领导名称 */
    @ApiModelProperty(value = "主要领导名称", position = 38)
    private String mainLeaderName;

    /** 审核备注-保留最新一条数据 */
    @ApiModelProperty(value = "审核备注-保留最新一条数据", position = 39)
    private String auditRemark;

}
